﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BGCOP.CAVTOP.BUSINESSLAYER;
using Telerik.WinControls.UI.Export;

namespace BGCOP.CAVTOP.WINFORMS
{
    public partial class frmReporteMarcacionesVisitantes : Form
    {
        public List<TEmpresa> ListaEmpresas;
        public List<TvisitanteReducido> ListaVisitantes;

        public frmReporteMarcacionesVisitantes()
        {
            InitializeComponent();
        }

        private void frmReporteMarcacionesVisitantes_Load(object sender, EventArgs e)
        {
            dtInicio.Value = DateTime.Now;
            dtFin.Value = DateTime.Now;
            Empresas em = new Empresas();
            ListaEmpresas = em.ListarTodas();
            ListaEmpresas.Insert(0, new TEmpresa()
            {
                idEmpresa = -999,
                RazonSocial = "Todas las Empresas"
            });
            cmbEmpresa.DataSource = ListaEmpresas;
            cmbEmpresa.DisplayMember = "RazonSocial";
            cmbEmpresa.ValueMember = "idEmpresa";
            Visitantes vs = new Visitantes();
            ListaVisitantes = vs.ListarTodos();
            ListaVisitantes.Insert(0, new TvisitanteReducido()
                                          {
                                              idVisitante =-999,
                                              nombre = "Todos los Visitantes"
                                          }); 
            cmdVisitante.DataSource = ListaVisitantes;
            cmdVisitante.DisplayMember = "nombre";
            cmdVisitante.ValueMember = "idVisitante";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Reportes rp = new Reportes();
            TEmpresa selem = cmbEmpresa.SelectedItem as TEmpresa;
            TvisitanteReducido emplesel = cmdVisitante.SelectedItem as TvisitanteReducido;
            radGridView1.DataSource = rp.consultarReporteVisitantes(dtInicio.Value.Date,
                                                                   dtFin.Value.Date.AddDays(1),
                                                                   selem.idEmpresa, emplesel.idVisitante);
        }

        private void radGridView1_DataBindingComplete(object sender, Telerik.WinControls.UI.GridViewBindingCompleteEventArgs e)
        {
            foreach (var xx in radGridView1.Columns)
            {
                xx.BestFit();
            }
            lblRegistros.Text = radGridView1.Rows.Count.ToString(CultureInfo.InvariantCulture) + " Registros";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            ExportToExcelML exporter = new ExportToExcelML(this.radGridView1);
            exporter.HiddenColumnOption = Telerik.WinControls.UI.Export.HiddenOption.DoNotExport;
            exporter.ExportVisualSettings = true;
            exporter.SheetMaxRows = ExcelMaxRows._1048576;
            exporter.SheetName = "Listado";
            exporter.SummariesExportOption = SummariesOption.DoNotExport;
            string ruta;
            ruta = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\ExportedDataMarcacionVisitantes.xls";
            try
            {
                exporter.RunExport(ruta);
                radDesktopAlert1.ContentImage = BGCOP.CAVTOP.WINFORMS.Properties.Resources.File_Excel_icon;
                radDesktopAlert1.CaptionText = "Exportar a excel";
                radDesktopAlert1.ContentText = "El archivo se exportado con exito.\r\nRuta: " + ruta;
                radDesktopAlert1.FixedSize = new Size(450, 150);
                radDesktopAlert1.Show();
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.ToString());
            }
        }
    }
}
